home *** CD-ROM | disk | FTP | other *** search
/ Softwarová Záchrana 3 / Softwarova-zachrana-3.bin / Xteq X-Setup / xqdcXSP-Setup-EN.exe / {app} / plugins / XQ Win2K No Run.xpl < prev    next >
Text File  |  2004-03-01  |  4KB  |  136 lines

  1. "FILE"="Xteq Systems X-Setup Plugin 5.0"
  2. "TYPE"="8"
  3. "COUNT"="2"
  4. "UIPATH 1"="Appearance\Explorer\Settings (Advanced)"
  5. "UIPATH 2"="System\Security\Disabled Features"
  6. "UIPATH 3"="System\File System\Blocked Execution"
  7. "UIPATH 4"="Virtual Paranoia\Security related"
  8. "NAME"="Explorer Blocked Execution"
  9. "VERSION"="1.01"
  10. "LANGUAGE"="VBScript"
  11. "TEXT 1"="Add"
  12. "TEXT 2"="Delete"
  13. "OSVERSION"="0001011"
  14. "DESCRIPTION 1"="With this setting, you can prevent a user from running programs, documents or other files."
  15. "DESCRIPTION 2"="For example, if you want to prevent a program named "setup.exe" from running, simply specify "setup.exe" in this list. When done, trying to double-click the file inside Explorer will result in a nice error message from Windows."
  16. "DESCRIPTION 3"="However, please note that this will only stop the document or program from running when it's started using Windows Explorer (Task Manager -> Run will still work) and the program is exactly named as specified. If the file is renamed, for example to "setup2.exe", Windows can not prevent this application from running as long as you do not specify "setup2.exe" in this list. "
  17. "DESCRIPTION 4"="IMPORTANT: Please note that this setting is not for the entire computer, it's only for the current user! "
  18. "AUTHOR"="Xteq Systems"
  19. "CONTACTURL"="http://www.xteq.com"
  20. "COPYRIGHT"="Copyright ⌐ Xteq Systems - All Rights Reserved"
  21. "COMMENT 1"="Thanks to sanpet.p@bu.ac.th for the idea!"
  22. "COMMENT 2"="see: http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp?url=/windows2000/techinfo/reskit/en-us/regentry/93499.asp"
  23.  
  24.  
  25. sP="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun"
  26.  
  27.  
  28. dim iItems        'contains the total amount of the registry keys
  29. Dim aryItems()    'contains the name of the Registry paths (direct files starting with ".")
  30. Dim aryItemsLoc() 'contains the registry location  (\ShellNew or \ShellNew-)
  31. Dim aryDesc()     'contains the description of the items
  32.  
  33.  
  34. Sub Plugin_Initialize 
  35.  iItems=0
  36.  Call ReadRegistry
  37. End Sub
  38.  
  39.  
  40. Sub ReadRegistry
  41.     for l=1 to iItems
  42.         Call SetUIElement(l,"")
  43.     next 
  44.  
  45.     iItems=RegEnumValues(sP) 
  46.  
  47.     ReDim aryItems(iItems)
  48.     ReDim aryDesc(iItems)
  49.  
  50.     l=1
  51.     e=1
  52.  
  53.     sDebug=""
  54.  
  55.     'read all data from the path
  56.     For l=1 to iItems       
  57.         sItem=RegEnumElement(l)    
  58.  
  59.         aryItems(l)=sItem
  60.         aryDesc(l)=RegReadValue(sP & "\" & sItem)
  61.          
  62.         sDebug=sDebug & sItem
  63.     next
  64.     'Call DebugMsg(sDebug)
  65.  
  66.  
  67.     'AND NOW update the UI
  68.     for l=1 to iItems
  69.         Call SetUIElement(l,aryDesc(l)) 'set data in X-Setup
  70.     Next
  71. End Sub
  72.  
  73.  
  74.  
  75.  
  76. Sub Plugin_Apply(ElementIndex,ElementSubIndex)
  77.  bChanged=false
  78.  
  79.  
  80.  if ElementIndex=1 then 'add
  81.     sVal1=InputWindow("Please enter the name of the file that should be disallowed. Please note that you need to specify the extension of the file, for example ┤setup.exe┤ (no quotes)","",1)
  82.     If sVal1="" then Exit Sub
  83.  
  84.     'get how many items we already have
  85.     iItems=RegEnumValues(sP) 
  86.     iItems=iItems+1
  87.    
  88.     Call RegWriteValue(sP & "\" & iItems,sVal1,1)
  89.     Call RegWriteValue(sP,"1",2)
  90.     bChanged=true
  91.  
  92.  else
  93.  
  94.  if ElementSubIndex>0 then
  95.  
  96.     if ElementIndex=2 then 'delete
  97.        'sVal1=InputWindow("To delete the selected entry, please press OK","YES",1)
  98.        'if sVal1="YES" then          
  99.           sCurPath=sP & "\" & aryItems(ElementSubIndex)
  100.           Call RegDeleteValue(sCurPath)
  101.           bChanged=true
  102.  
  103.           'if this was the last entry, reset the REG_DWORD value!
  104.           if iItems=1 then
  105.              if RegValueExists(sP) then Call RegDeleteValue(sP)
  106.  
  107.              if RegPathExists(sP) then Call RegDeletePath(sP) 
  108.           end if
  109.  
  110.         
  111.        'end if  
  112.     end if
  113.      
  114.  else
  115.     Call MsgWarning("Please select an item in the list.")
  116.  end if
  117.  
  118.  end if
  119.  
  120.  
  121.  
  122.  if bChanged=true then
  123.     're-read UI
  124.     Call ReadRegistry
  125.  
  126.     Call Logoff
  127.  end if
  128.  
  129.  
  130. End Sub
  131.  
  132.  
  133.  
  134. Sub Plugin_Terminate 
  135. End Sub
  136.